A known X-Y plotter, such as the Tektronix 4662 or 4663, functions by driving its pen head along vectors (straight lines between defined end points) within the plotter work space. The plotter has an X motor which drives the pen head in the X direction and a Y motor which drives the pen head in the (orthogonal) Y direction. The plotter has a microprocessor which receives information relating to the end points and uses that information, as well as information relating to the characteristics of the motors and the drive trains between the motors and the pen head, to calculate acceleration, constant velocity and deceleration times necessary to cause the pen head to travel along the vector between the end points. Clearly, the acceleration, constant velocity and deceleration times for the X and Y motors must be equal, and the instantaneous magnitudes of the speed and of the rates of change of speed of the motors must remain in proportion to one another, in order for the lines that are executed by the pen head to be straight.
In the Tektronix 4662 and 4663 digital X-Y plotters, stepping motors driven in a microstepping mode of operation are used for the X and Y motors because this enables the motors to be driven between precisely defined end points.
A conventional permanent magnet stepping motor is described in Theory and Application of Step Motors, Kuo, 1974, at pages 25-30. The rotor of that motor comprises a cylindrical permanent magnet core mounted coaxially on the rotor shaft and magnetized parallel to the axis of the shaft, and two soft iron caps which are fitted on the core at opposite ends thereof. Each cap is of generally cylindrical form and the caps have an equal number of equiangularly spaced teeth formed about their peripheries. The two sets of teeth are relatively angularly displaced about the axis of the rotor shaft by an angle equal to half the angular pitch between adjacent teeth of one cap. The core and the caps thus establish a number of pole pairs equal to the number of teeth of each cap. Typically, each cap has fifty teeth and so the rotor has fifty magnetic pole pairs. The two rotor caps may be designated N and S, in accordance with the polarity of the magnetization induced by the core. The stator is constructed of a stack of laminations that define eight salient poles. The salient poles are equiangularly spaced about the rotor axis, and for the sake of convenience in the following description the poles are designated by number according to their angular positions relative to a selected salient pole: the selected pole (pole 1) is at 0 degrees, pole 2 is at 45 degrees, pole 3 at 90 degrees, etc. Each salient pole is formed with five teeth that are presented towards the rotor. The stator teeth are at a pitch of 7.5 degrees, but eight teeth are omitted to allow space for the windings. Each salient pole is in two parts, at the two ends respectively of the rotor, so that the teeth of the two parts are associated with the two rotor caps respectively. Unlike the teeth of the two rotor caps, the teeth of the two parts of each salient pole are not angularly displaced relative to each other.
The stator has two phase windings, which may be called windings A and B for the sake of convenience, and windings A and B are wound on alternate salient poles, i.e., winding A is wound on poles 1, 3, 5 and 7 while winding B is wound on poles 2, 4, 6 and 8. Poles 3 and 7 are wound in the opposite sense to poles 1 and 5, and similarly poles 2 and 6 are wound in the opposite sense to poles 4 and 8. Thus, if the phase winding A is energized so that pole 1 is magnetized as a north pole, pole 5 is also magnetized as a north pole and poles 3 and 7 are magnetized as south poles. Only one phase winding is energized at a time, and the sequence of energization may be represented by 1,0; 0,1; -1,0; 0,-1; 1,0, etc., where the first digit of each pair indicates the state of magnetization of pole 1 and the second digit the state of magnetization of pole 2; and 1 indicates that the particular pole is magnetized as a north pole, -1 indicates that it is magnetized as a south pole and 0 indicates that it is not magnetized.
The rotor always attempts to assume a rotational position relative to the stator such that the sum of the reluctances of the magnetic circuits containing the rotor and magnetized poles of the stator is at a minimum, and this requires that the center teeth of poles that are magnetized as north poles be aligned with rotor teeth of the cap S and be out of alignment with rotor teeth of the cap N. Thus, in the state 1,0 the magnetic circuits defined by the poles 1, 3, 5 and 7 and the rotor have a minimum reluctance if the center teeth of poles 1 and 5 are aligned with respective teeth of the rotor cap S, and the center teeth of the rotor cap N. When the center teeth of poles 1 and 5 are aligned with teeth of the rotor cap S, the center teeth of poles 2 and 6 are one-quarter of a rotor pitch (1.8 degrees) out of alignment with teeth of the same rotor cap, and so when the state of magnetization changes to 0,1 the rotor advances through an angle of 1.8 degrees. In this position, the center teeth of poles 3 and 7 are one-quarter of a rotor pitch out of alignment with teeth of the cap S, so that when the state of energization is changed to -1,0 the rotor advances by another 1.8 degrees. Accordingly, if the phase windings are energized in accordance with the above sequence, the rotor will advance in steps of 1.8 degrees and by appropriate control of the energization of the phase windings, the rotor can be caused to stop at any one of the 200 angular positions corresponding to the steps of 1.8 degrees. In general, the rotor executes 4N steps per cycle, where N is the number of rotor pole pairs, and may be caused to stop at any one of these positions. This mode of operation of a stepping motor may be referred to as regular stepping, or simply as stepping, in order to distinguish it from microstepping, described below.
In the microstepping mode of operation of a stepping motor, the possibility exists of both stator windings being energized. If the relationship between the energizing currents I.sub.A and I.sub.B for the two windings is EQU I.sub.A =I sin .theta..sub.e ( 1) EQU I.sub.B =I cos .theta..sub.e ( 2)
where I is a constant and .theta..sub.e has the dimensions of radians, the rotor interpolates between adjacent pairs of the above mentioned 4N possible positions in accordance with the value of .theta..sub.e. When equations (1) and (2) apply, the vector sum I.sub.T of the two currents is given by ##EQU1## If the currents can be controlled so that .theta..sub.e has M discrete values between 0 and .pi./4 radians, the total number of possible rotational positions that can be assumed by the rotor, and therefore the number of steps per revolution of the rotor, is 4MN. Typically, N is 50 and M is 32, and so the number of microsteps per revolution is 6,400.
A microstepped stepping motor is particularly suited for driving the pen head of a plotter, since by accurate control of the energizing currents of the windings of the motor the pen head may be driven rapidly across its work area and stopped at a predetermined position, corresponding to one of the permitted rotational positions of the rotor. During translation of the pen head, the windings of each motor are driven by sinusoidally varying currents in phase quadrature relationship.
The torque required, T.sub.R, of a stepping motor to accelerate a mechanical load is given by: ##EQU2## where .theta. is the angular position of the motor shaft relative to a radius which is fixed with respect to the stator, C is the combined motor plus reflected mechanism coulomb friction constant, .omega. is the motor shaft angular velocity (d .theta./dt or .theta.), B is the combined motor plus reflected mechanism viscous friction contant, .alpha. is the motor shaft angular acceleration (d.sup.2 .theta./dt.sup.2, or .theta.) and J is the combined motor plus reflected mechanism inertia constant.
The torque available, T.sub.A, from the stepping motor can be expressed to first order as: EQU T.sub.A =K.sub.T I.sub.T sin (.theta..sub.e -.theta..sub.m) (5)
where .theta..sub.m has the dimensions of radians, and represents the angular position of the rotor measured in the space such that the interval between two adjacent steps (as opposed to microsteps) of the rotor is .pi./4 radians. Thus, for each revolution of the rotor .theta..sub.m changes by 2N.pi., and if .theta..sub.m is equal to zero when .theta. is equal to zero then EQU .theta..sub.m =N.theta. (6)
Setting equation (4) equal to equation (5) and substituting for .theta. from equation (6) gives ##EQU3## .theta..sub.e and .theta..sub.m can be considered as the angular position of electrical and mechanical phasors, representing respectively the angular position of the induced magnetic pole pair set up by magnetic flux in the stator poles resulting from currents in the phase windings and the angular position of one of the magnetic poles pairs of the rotor, each angle being measured in the space such that 2.pi. radians correspond to 2.pi./N geometrical radians.
For proper stepping motor action, the angular difference .theta..sub.e -.theta..sub.m between the phasors must be kept small, and therefore EQU sin (.theta..sub.e -.theta..sub.m)=(.theta..sub.e -.theta..sub.m) (8)
Neglecting the coulomb friction component, which is significant only at low angular velocities, and substituting for sin (.theta..sub.e -.theta..sub.m) from equation (8), equation (7) becomes ##EQU4##
Laplace transforms can be used to obtain a system transfer function: EQU .theta..sub.m (s)/.theta..sub.e (s)=NK.sub.T I.sub.T /(Js.sup.2 +Bs+NK.sub.T I.sub.T) (10)
Equation (10) can be put in the following form: EQU .theta..sub.m (s)/.theta..sub.e (s)=.omega..sub.n.sup.2 /(s.sup.2 +2.zeta..omega..sub.n s+.omega..sub.n.sup.2) (11)
where: ##EQU5## .omega..sub.n and .zeta. being, respectively, the natural resonance frequency and the damping ratio of the system.
Solving the system characteristic equation (the denominator of equation (11)) for its roots gives: ##EQU6##
For stepping motor systems with low viscous friction forces, such as digital x-y plotters, .zeta. will be on the order of 0.3. It can be shown that if .zeta. is less than 1.0, the motor-mechanism combination is susceptible to angular position perturbations if .omega.(=.theta.) is close to or equal to .omega..sub.n. This is due to small amounts of torque variations being present in the torque output of the motor and the motor drive system. These torque variations are the result of non-ideal behavior of the motor and motor drive and are harmonically related to shaft angular velocity. It is to be expected that any torque variations produced by the stepping motor or motor drive occurring at or close to the system natural frequency would degrade plotter line quality. In addition, if the motor is excited with a step function input, the motor-mechanism combination will be susceptible to angular positional overshoot. Those problems of improper response may be overcome or at least ameliorated by increasing the viscous friction constant B and thereby increasing the damping ratio .zeta.. However, if the viscous friction constant is increased, the system suffers an increase in the torque lost due to viscous friction .omega.B.